package com.ra.dao;

/**
 * Base interface of all the daos which provides the default methods/operations.
 * 
 * @author Sathesh
 */
public interface BaseDAO {

	/**
	 * Saves the given entity and returns the created/saved entity back
	 * 
	 * @param e entity to save
	 * @return
	 */
	public <E> E save(E e);

	/**
	 * Updates the given entity and returns the updated entity back
	 * 
	 * @param e entity to update
	 * @return
	 */
	public <E> E update(E e);

	/**
	 * deletes the given entity from the system
	 * 
	 * @param e entity to delete
	 * @return
	 */
	public <E> void delete(E e);
}
